Product position maybe sent from a device (PLC etc.) to Sym3 via a message. Product position can be manipulated via the scripting API using the following functions.
Product UpdateProductPosition(Object target, Number distance, String identifier);
Called to position product at a certain distance along the transfer path of an equipment instance, the system will locate the correct product instance based on the 'identifier' field
Name | Type | Description |
target | Object | The transporter that the product will be moved to. NOTE, the transporter 'Tracking Mode' will need to be set to the 'Tracking' state for it to accept tracking product placement |
distance | Number | The position the product will be moved to, this refers to the leading edge of the product. Value is in metres. |
identifier | String | An unique string value that identifies the product, if the product cannot be found then a new instance will be created |
The return value is an instance of the product that has been positioned at the desired location, this may be a new instance or one that already existed, this is determined by the 'identifier', a null value indicates the product positioning failed, this may be due to the transporter not being in the correct tracking state
Example:
function OnSimulationStart() { SetComponentKey("LocationID"); } function ProductTracking(msg, hdr) { var product = UpdateProductPosition(GetComponentByKey("LocationID", msg.locationid), msg.distance, msg.BC); if (product != null) { product.Text = msg.BC; product.Length = msg.l; product.Width = msg.w; product.Height = msg.h; product.Direction = msg.d; } }
The above assumes a message has been defined that contains the fields 'BC','l','w','h' and 'd'.